home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 22 / PC Actual CD 22.iso / progs / Netobj / CDK / NetObjectsFusionCDK5_97.exe / _SETUP.1 / DynaButtonsComp.nfx (.txt) < prev    next >
Encoding:
Java Class File  |  1997-01-31  |  8.8 KB  |  525 lines

  1. public class DynaButtonsComp extends ComponentApp {
  2.    int backgroundStyle;
  3.    DAssetManager assMan;
  4.    int upID;
  5.    int downID;
  6.    String Orientation = "";
  7.    String ButtonImage = "";
  8.    String HighliteImage = "";
  9.    String paramButtonImage = "";
  10.    String paramHighliteImage = "";
  11.    int backgroundColor;
  12.    String backgroundImage = "";
  13.    String paramBackgroundImage = "";
  14.    int textJustification;
  15.    int textAlignment;
  16.    int fontColor;
  17.    int highliteFontColor;
  18.    String buttonFont = "";
  19.    boolean italic;
  20.    boolean bold;
  21.    int fontSize;
  22.    ButtonObject buttonList;
  23.    DDrawJava theJavaApplet;
  24.    String compImage = "";
  25.    int imgX;
  26.    int imgY;
  27.    String indent = "    ";
  28.    // $FF: renamed from: cb java.lang.String
  29.    String field_0;
  30.  
  31.    protected void RemoveAssets() {
  32.       if (this.upID != 0) {
  33.          this.assMan.RemoveAsset(this.upID);
  34.          this.assMan.RemoveAsset(this.downID);
  35.       }
  36.  
  37.       this.upID = 0;
  38.       this.downID = 0;
  39.    }
  40.  
  41.    public String PropertyListener(String var1, String var2, int var3, int var4, IDInspector var5) {
  42.       if (var3 == 1) {
  43.          if (var1.compareTo("Orientation") == 0) {
  44.             if (this.Orientation.compareTo("Horizontal") == 0) {
  45.                return "0";
  46.             }
  47.  
  48.             return "1";
  49.          }
  50.  
  51.          if (var1.compareTo("Number of Buttons") == 0) {
  52.             return Integer.toString(this.countButtons(this.buttonList));
  53.          }
  54.  
  55.          ButtonObject var6 = this.buttonList.getNext();
  56.  
  57.          for(int var7 = 1; var6 != null; ++var7) {
  58.             if (var1.compareTo("Use Sub-Buttons " + var7) == 0) {
  59.                if (var6.getSubButtonsExist()) {
  60.                   return "0";
  61.                }
  62.  
  63.                return "1";
  64.             }
  65.  
  66.             if (var1.compareTo("Button " + var7) == 0) {
  67.                if (var6.getSubButtonsExist()) {
  68.                   return var6.getText();
  69.                }
  70.  
  71.                return var6.getID();
  72.             }
  73.  
  74.             ButtonObject var8 = var6.getSubButtons();
  75.             if (var1.compareTo("Number Sub-Buttons " + var7) == 0) {
  76.                return Integer.toString(this.countButtons(var8));
  77.             }
  78.  
  79.             var8 = var8.getNext();
  80.  
  81.             for(int var9 = 1; var8 != null; ++var9) {
  82.                if (var1.compareTo(this.indent + "Sub-Button " + var7 + "," + var9) == 0) {
  83.                   return var8.getID();
  84.                }
  85.  
  86.                var8 = var8.getNext();
  87.             }
  88.  
  89.             var6 = var6.getNext();
  90.          }
  91.       } else {
  92.          if (var1.compareTo("Orientation") == 0) {
  93.             if (var2.compareTo("0") == 0) {
  94.                this.Orientation = "Horizontal";
  95.             } else {
  96.                this.Orientation = "Vertical";
  97.             }
  98.  
  99.             this.debug("\r\nrandom:");
  100.             this.checkList(this.buttonList);
  101.             this.modifyImageSize();
  102.          } else if (var1.compareTo("Number of Buttons") == 0) {
  103.             int var12 = Integer.parseInt(var2, 10);
  104.             if (var12 > 20) {
  105.                var12 = 20;
  106.             }
  107.  
  108.             this.modifyNumButtons(var12, this.buttonList);
  109.             this.modifyImageSize();
  110.          } else {
  111.             ButtonObject var11 = this.buttonList.getNext();
  112.  
  113.             for(int var13 = 1; var11 != null; ++var13) {
  114.                if (var1.compareTo("Button " + var13) == 0) {
  115.                   if (var11.getSubButtonsExist()) {
  116.                      var11.setText(var2);
  117.                   } else {
  118.                      var11.setID(var2);
  119.                      var11.setText(this.assMan.GetAssetName(Integer.parseInt(var2, 10)));
  120.                   }
  121.                } else if (var1.compareTo("Use Sub-Buttons " + var13) == 0) {
  122.                   if (var2.compareTo("0") == 0) {
  123.                      var11.setSubButtonsExist(true);
  124.                      if (var5 != null) {
  125.                         var5.OnPropertyChanged(-1);
  126.                      }
  127.                   } else {
  128.                      var11.setSubButtonsExist(false);
  129.                      if (var5 != null) {
  130.                         var5.OnPropertyChanged(-1);
  131.                      }
  132.                   }
  133.  
  134.                   this.modifyImageSize();
  135.                } else if (var1.compareTo("Number Sub-Buttons " + var13) == 0) {
  136.                   int var16 = Integer.parseInt(var2, 10);
  137.                   if (var16 > 20) {
  138.                      var16 = 20;
  139.                   }
  140.  
  141.                   this.modifyNumButtons(var16, var11.getSubButtons());
  142.                   this.modifyImageSize();
  143.                } else {
  144.                   ButtonObject var15 = var11.getSubButtons().getNext();
  145.  
  146.                   for(int var17 = 1; var15 != null; ++var17) {
  147.                      if (var1.compareTo(this.indent + "Sub-Button " + var13 + "," + var17) == 0) {
  148.                         var15.setID(var2);
  149.                         var15.setText(this.assMan.GetAssetName(Integer.parseInt(var2, 10)));
  150.                      }
  151.  
  152.                      var15 = var15.getNext();
  153.                   }
  154.                }
  155.  
  156.                var11 = var11.getNext();
  157.             }
  158.          }
  159.  
  160.          this.SetPropertyValues();
  161.       }
  162.  
  163.       return "";
  164.    }
  165.  
  166.    private void updateSiteLook(int var1) {
  167.       IDLayout var2 = this.theJavaApplet.getLayout();
  168.       IDSite var3 = var2.getSite();
  169.       IDStyle var4 = var3.getCurrentStyle();
  170.       this.backgroundStyle = var2.getBackgroundStyle();
  171.       if (this.backgroundStyle != 0) {
  172.          if (this.backgroundStyle == 1) {
  173.             this.backgroundColor = var2.getBackgroundColor();
  174.          } else if (this.backgroundStyle == 2) {
  175.             int var5 = this.assMan.AddAsset(var2.getBackgroundImage(), "Image\u0000", "");
  176.             this.backgroundImage = this.assMan.GetAssetRelativeLocation(var5, var1, 1);
  177.          }
  178.       } else {
  179.          this.backgroundStyle = var4.getBackgroundStyle();
  180.          if (this.backgroundStyle == 1) {
  181.             this.backgroundColor = var4.getBackgroundColor();
  182.          } else if (this.backgroundStyle == 2) {
  183.             int var10 = this.assMan.AddAsset(var4.getBackgroundImage(), "Image\u0000", "");
  184.             this.backgroundImage = this.assMan.GetAssetRelativeLocation(var10, var1, 1);
  185.          }
  186.       }
  187.  
  188.       this.textJustification = 5;
  189.       this.textAlignment = var4.getButtonTextAlign();
  190.       this.fontColor = var4.getButtonFontColor();
  191.       this.highliteFontColor = var4.getButtonDownFontColor();
  192.       IDFont var11 = var4.getButtonFont();
  193.       this.buttonFont = var11.getName();
  194.       this.fontSize = var11.getPoint();
  195.       this.bold = var11.getBold();
  196.       this.italic = var11.getItalic();
  197.       String var6 = var4.getButtonUpImage();
  198.       if (var6 == null || var6.compareTo("") == 0) {
  199.          var6 = this.field_0 + "transButton.gif";
  200.       }
  201.  
  202.       String var7 = var4.getButtonDownImage();
  203.       if (var7 == null || var7.compareTo("") == 0) {
  204.          var7 = this.field_0 + "transButton.gif";
  205.       }
  206.  
  207.       this.RemoveAssets();
  208.       this.upID = this.assMan.AddAsset(var6, "Image\u0000", "");
  209.       this.downID = this.assMan.AddAsset(var7, "Image\u0000", "");
  210.       this.ButtonImage = this.assMan.GetAssetRelativeLocation(this.upID, var1, 1);
  211.       this.HighliteImage = this.assMan.GetAssetRelativeLocation(this.downID, var1, 1);
  212.       IDSize var8 = var4.getButtonSize();
  213.       if (var8 != null) {
  214.          this.imgX = var8.getWidth();
  215.          this.imgY = var8.getHeight();
  216.       } else {
  217.          this.imgX = 100;
  218.          this.imgY = 35;
  219.       }
  220.  
  221.       this.modifyImageSize();
  222.    }
  223.  
  224.    void checkList(ButtonObject var1) {
  225.    }
  226.  
  227.    public void onCopy() {
  228.       this.debug("in onCopy()");
  229.       this.Orientation = new String(this.Orientation);
  230.       this.ButtonImage = new String(this.ButtonImage);
  231.       this.HighliteImage = new String(this.HighliteImage);
  232.       this.paramButtonImage = new String(this.paramButtonImage);
  233.       this.paramHighliteImage = new String(this.paramHighliteImage);
  234.       this.backgroundImage = new String(this.backgroundImage);
  235.       this.buttonFont = new String(this.buttonFont);
  236.       this.compImage = new String(this.compImage);
  237.       this.indent = new String(this.indent);
  238.       this.assMan.CopyAsset(this.upID);
  239.       this.assMan.CopyAsset(this.downID);
  240.       ButtonObject var1 = new ButtonObject();
  241.       ButtonObject var2 = var1;
  242.       this.debug("<copy> length of original: " + this.countButtons(this.buttonList));
  243.       ButtonObject var3 = this.buttonList.getNext();
  244.       this.debug("about to copy list");
  245.  
  246.       for(int var4 = 1; var3 != null; ++var4) {
  247.          this.debug("in copy list");
  248.          var2.setNext(new ButtonObject());
  249.          var2 = var2.getNext();
  250.          var2.setID(var3.getID());
  251.          var2.setText(var3.getText());
  252.          var2.setURL(var3.getURL());
  253.          this.debug("copied: " + var4);
  254.          if (var3.getSubButtonsExist()) {
  255.             var2.setSubButtonsExist(true);
  256.             ButtonObject var5 = var3.getSubButtons().getNext();
  257.             ButtonObject var6 = var2.getSubButtons();
  258.  
  259.             for(int var7 = 1; var5 != null; ++var7) {
  260.                var6.setNext(new ButtonObject());
  261.                var6 = var6.getNext();
  262.                var6.setID(var5.getID());
  263.                var6.setText(var5.getText());
  264.                var6.setURL(var5.getURL());
  265.                var5 = var5.getNext();
  266.             }
  267.          }
  268.  
  269.          var3 = var3.getNext();
  270.       }
  271.  
  272.       this.buttonList = var1;
  273.    }
  274.  
  275.    private void modifyNumButtons(int var1, ButtonObject var2) {
  276.       int var3 = this.countButtons(var2);
  277.       if (var1 < var3) {
  278.          for(int var4 = 0; var4 < var1; ++var4) {
  279.             var2 = var2.getNext();
  280.          }
  281.  
  282.          var2.setNext((ButtonObject)null);
  283.       } else if (var1 > var3) {
  284.          for(int var6 = 0; var6 < var1; ++var6) {
  285.             if (var2.getNext() == null) {
  286.                var2.setNext(new ButtonObject());
  287.             }
  288.  
  289.             var2 = var2.getNext();
  290.          }
  291.       }
  292.  
  293.    }
  294.  
  295.    private int countButtons(ButtonObject var1) {
  296.       int var2 = 0;
  297.  
  298.       for(ButtonObject var3 = var1.getNext(); var3 != null; var3 = var3.getNext()) {
  299.          ++var2;
  300.       }
  301.  
  302.       return var2;
  303.    }
  304.  
  305.    public String onInstall(DAssetManager var1, String var2) {
  306.       this.assMan = var1;
  307.       this.compImage = var2 + "DYNBUTTON.gif";
  308.       return "DynaButtons";
  309.    }
  310.  
  311.    protected void finalize() {
  312.       this.RemoveAssets();
  313.    }
  314.  
  315.    public void onPublish(DAssetManager var1, int var2) {
  316.       this.updateSiteLook(var2);
  317.       this.setAllUrls(var2);
  318.       if (var2 == 1) {
  319.          this.paramButtonImage = "file:///" + this.ButtonImage;
  320.          this.paramHighliteImage = "file:///" + this.HighliteImage;
  321.          this.paramBackgroundImage = "file:///" + this.backgroundImage;
  322.       } else {
  323.          this.paramButtonImage = this.ButtonImage;
  324.          this.paramHighliteImage = this.HighliteImage;
  325.          this.paramBackgroundImage = this.backgroundImage;
  326.       }
  327.  
  328.       this.SetPropertyValues();
  329.       IDRect var3 = this.theJavaApplet.getObjectRect();
  330.       this.theJavaApplet.AddParam("X Position", "String\u0000", Integer.toString(var3.getLeft()));
  331.       this.theJavaApplet.AddParam("Y Position", "String\u0000", Integer.toString(var3.getTop() + 7));
  332.    }
  333.  
  334.    public void onDrop(IDLayout var1, IDRect var2, int var3) {
  335.       if (var3 == 1) {
  336.          this.theJavaApplet = new DDrawJava();
  337.          this.theJavaApplet.SetStyle(1, 1);
  338.          this.theJavaApplet.setStretch(2);
  339.          this.buttonList = new ButtonObject();
  340.          this.buttonList.setNext(new ButtonObject());
  341.          this.theJavaApplet.SetPositionRect(var2.getLeft(), var2.getTop(), var2.getLeft(), var2.getTop());
  342.          this.Orientation = "Horizontal";
  343.          this.theJavaApplet.setImageFile(this.compImage);
  344.          this.theJavaApplet.setUsePictureText(true);
  345.          this.theJavaApplet.setPictureText("DynaButtons");
  346.          this.field_0 = this.theJavaApplet.getCodeBase();
  347.          this.theJavaApplet.setAppletFileName(this.field_0 + "DynaButtons.class");
  348.          this.theJavaApplet.AddAdditionalAppletFile(this.field_0 + "PopButton.class");
  349.          this.theJavaApplet.AddAdditionalAppletFile(this.field_0 + "PopObject.class");
  350.          this.theJavaApplet.AddAdditionalAppletFile(this.field_0 + "DynaButtons.cab");
  351.          var1.AddObject(this.theJavaApplet);
  352.       }
  353.  
  354.       if (var3 != 3 && var3 != 4) {
  355.          this.updateSiteLook(0);
  356.          this.SetPropertyValues();
  357.       }
  358.  
  359.    }
  360.  
  361.    private void modifyImageSize() {
  362.       int var1 = 0;
  363.       int var2 = 0;
  364.       ButtonObject var3 = this.buttonList.getNext();
  365.       if (this.Orientation.compareTo("Horizontal") == 0) {
  366.          for(var1 = this.countButtons(this.buttonList); var3 != null; var3 = var3.getNext()) {
  367.             if (var2 == 0) {
  368.                var2 = 1;
  369.             }
  370.  
  371.             if (var3.getSubButtonsExist()) {
  372.                int var4 = this.countButtons(var3.getSubButtons()) + 1;
  373.                if (var4 > var2) {
  374.                   var2 = var4;
  375.                }
  376.             }
  377.          }
  378.       } else {
  379.          var2 = this.countButtons(this.buttonList);
  380.  
  381.          for(int var7 = 1; var3 != null; ++var7) {
  382.             if (var1 == 0) {
  383.                var1 = 1;
  384.             }
  385.  
  386.             if (var3.getSubButtonsExist()) {
  387.                var1 = 2;
  388.                int var5 = this.countButtons(var3.getSubButtons()) + var7;
  389.                if (var5 > var2) {
  390.                   var2 = var5;
  391.                }
  392.             }
  393.  
  394.             var3 = var3.getNext();
  395.          }
  396.       }
  397.  
  398.       this.theJavaApplet.SetSize(var1 * this.imgX, var2 * this.imgY);
  399.    }
  400.  
  401.    public void onInspect(CStringArray var1, CStringArray var2) {
  402.       var1.Set("Orientation");
  403.       var2.Set("Set(Horizontal|Vertical)");
  404.       var1.Set("Number of Buttons");
  405.       var2.Set("Collection\u0000");
  406.       ButtonObject var3 = this.buttonList.getNext();
  407.  
  408.       for(int var4 = 1; var3 != null; ++var4) {
  409.          if (var3.getSubButtonsExist()) {
  410.             var1.Set("Button " + var4);
  411.             var2.Set("String\u0000");
  412.             var1.Set("Use Sub-Buttons " + var4);
  413.             var2.Set("Set(Yes|No)");
  414.             var1.Set("Number Sub-Buttons " + var4);
  415.             var2.Set("Collection\u0000");
  416.             ButtonObject var5 = var3.getSubButtons().getNext();
  417.  
  418.             for(int var6 = 1; var5 != null; ++var6) {
  419.                var1.Set(this.indent + "Sub-Button " + var4 + "," + var6);
  420.                var2.Set("Link\u0000");
  421.                var5 = var5.getNext();
  422.             }
  423.          } else {
  424.             var1.Set("Button " + var4);
  425.             var2.Set("Link\u0000");
  426.             var1.Set("Use Sub-Buttons " + var4);
  427.             var2.Set("Set(Yes|No)");
  428.          }
  429.  
  430.          var3 = var3.getNext();
  431.       }
  432.  
  433.    }
  434.  
  435.    private void debug(String var1) {
  436.    }
  437.  
  438.    private void setAllUrls(int var1) {
  439.       ButtonObject var2 = this.buttonList.getNext();
  440.  
  441.       for(int var3 = 1; var2 != null; ++var3) {
  442.          String var4 = this.assMan.GetAssetRelativeLocation(Integer.parseInt(var2.getID(), 10), var1, 1);
  443.          var2.setURL(var4);
  444.          if (var2.getSubButtonsExist()) {
  445.             ButtonObject var5 = var2.getSubButtons().getNext();
  446.  
  447.             for(int var6 = 1; var5 != null; ++var6) {
  448.                String var7 = this.assMan.GetAssetRelativeLocation(Integer.parseInt(var5.getID(), 10), var1, 1);
  449.                var5.setURL(var7);
  450.                var5 = var5.getNext();
  451.             }
  452.          }
  453.  
  454.          var2 = var2.getNext();
  455.       }
  456.  
  457.    }
  458.  
  459.    void SetPropertyValues() {
  460.       this.theJavaApplet.ResetParams();
  461.       this.theJavaApplet.setHTMLBetween("ARCHIVE=DynaButtons.zip");
  462.       this.theJavaApplet.AddParam("cabbase", "String\u0000", "DynaButtons.cab");
  463.       this.theJavaApplet.AddParam("Orientation", "String\u0000", this.Orientation);
  464.       this.theJavaApplet.AddParam("ButtonImage", "String\u0000", this.paramButtonImage);
  465.       this.theJavaApplet.AddParam("HighliteImage", "String\u0000", this.paramHighliteImage);
  466.       this.theJavaApplet.AddParam("TextJustification", "String\u0000", Integer.toString(this.textJustification));
  467.       this.theJavaApplet.AddParam("TextAlignment", "String\u0000", Integer.toString(this.textAlignment));
  468.       this.theJavaApplet.AddParam("ButtonFont", "String\u0000", this.buttonFont);
  469.       this.theJavaApplet.AddParam("FontSize", "String\u0000", Integer.toString(this.fontSize));
  470.       this.theJavaApplet.AddParam("FontColor", "String\u0000", Integer.toString(this.fontColor));
  471.       this.theJavaApplet.AddParam("HighliteFontColor", "String\u0000", Integer.toString(this.highliteFontColor));
  472.       if (this.bold) {
  473.          this.theJavaApplet.AddParam("Bold", "String\u0000", "True");
  474.       }
  475.  
  476.       if (this.italic) {
  477.          this.theJavaApplet.AddParam("Italic", "String\u0000", "True");
  478.       }
  479.  
  480.       if (this.backgroundStyle == 1) {
  481.          this.theJavaApplet.AddParam("BackgroundColor", "String\u0000", Integer.toString(this.backgroundColor));
  482.       } else if (this.backgroundStyle == 2) {
  483.          this.theJavaApplet.AddParam("BackgroundImage", "String\u0000", this.paramBackgroundImage);
  484.       }
  485.  
  486.       ButtonObject var1 = this.buttonList.getNext();
  487.  
  488.       for(int var2 = 0; var1 != null; ++var2) {
  489.          if (var1.getSubButtonsExist()) {
  490.             if (var1.getText().compareTo("") == 0) {
  491.                this.theJavaApplet.AddParam("ButtonText" + var2, "String\u0000", " ");
  492.             } else {
  493.                this.theJavaApplet.AddParam("ButtonText" + var2, "String\u0000", var1.getText());
  494.             }
  495.  
  496.             ButtonObject var6 = var1.getSubButtons().getNext();
  497.  
  498.             for(int var4 = 0; var6 != null; ++var4) {
  499.                if (var6.getText().compareTo("") == 0) {
  500.                   this.theJavaApplet.AddParam("ButtonText" + var2 + "_" + var4, "String\u0000", " ");
  501.                   this.theJavaApplet.AddParam("URL" + var2 + "_" + var4, "String\u0000", " ");
  502.                } else {
  503.                   this.theJavaApplet.AddParam("ButtonText" + var2 + "_" + var4, "String\u0000", var6.getText());
  504.                   this.theJavaApplet.AddParam("URL" + var2 + "_" + var4, "String\u0000", var6.getURL());
  505.                }
  506.  
  507.                var6 = var6.getNext();
  508.             }
  509.          } else {
  510.             if (var1.getText().compareTo("") == 0) {
  511.                this.theJavaApplet.AddParam("ButtonText" + var2, "String\u0000", " ");
  512.             } else {
  513.                String var3 = this.assMan.GetAssetName(Integer.parseInt(var1.getID(), 10));
  514.                this.theJavaApplet.AddParam("ButtonText" + var2, "String\u0000", var3);
  515.             }
  516.  
  517.             this.theJavaApplet.AddParam("URL" + var2, "String\u0000", var1.getURL());
  518.          }
  519.  
  520.          var1 = var1.getNext();
  521.       }
  522.  
  523.    }
  524. }
  525.